home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue28 / tiptrix / LISTING3.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-10-28  |  666 b   |  21 lines

  1. procedure SetupFieldsAndOpenDataset(DataSet: TDataSet);
  2. var
  3.   FieldNum,DefNum: Integer;
  4. begin
  5.   with DataSet do begin
  6.     if Active then Close ;
  7.     FieldDefs.Update; {dataset must be closed}
  8.     {look up each pre-defined TField in DataSet.FieldDefs:}
  9.     for FieldNum:= FieldCount-1 downto 0 do
  10.       with Fields[FieldNum] do begin
  11.         DefNum := FieldDefs.IndexOf(FieldName);
  12.         if DefNum < 0 then
  13.           raise Exception.CreateFmt('Field "%s" not in dataset "%s"',
  14.                                     [FieldName,Dataset.Name]);
  15.         {adjust size property:}
  16.         Size := FieldDefs[DefNum].Size;
  17.       end;
  18.     Open;
  19.   end;
  20. end;
  21.